class Solution {
public:
    bool isUnique(string astr) {
        // 鸽巢原理来做的优化
        if(astr.length() > 26)
            return false;

        // 利用位运算
        int bitmap = 0;
        for(auto &e : astr)
        {
            if((bitmap >> (e - 'a') & 1) == 1)
                return false;
            else
                bitmap |= (1 << (e - 'a'));
        }
        return true;

        // 利用哈希表
        // int arr[26] = {0};
        // for(auto &str : astr)
        //     arr[str - 'a']++;
        // for(auto &e : arr)
        //     if(e >= 2)
        //         return false;
        // return true;
    }
};